/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package RDA;

import java.util.ArrayList;

/**
 *
 * @author raul
 */
public class Choques {
boolean surt = false;
    int cnt = 0;    //disparos acertados    cosas de pol (8)
    int cnt1 = 0;   //disparos enemigo0
    int cnt2 = 0;   //disparos enemigo1
    int cnt3 = 0;   //disparos enemigo2
    int cntTT = 0;

    public void controlDeChoques(ArrayList<Disparo> disparosEnemigo, ArrayList<NaveEnemigaBase> navesEnemigas,
            NaveBase naveWida, ArrayList<Disparo> disparoWida) {

        NaveWida naveW = (NaveWida)naveWida;

        try {
            //nau-W vs nau-enemiga
            for (Object ob1 : navesEnemigas) {
                NaveEnemigaBase neb1 = (NaveEnemigaBase) ob1;
                    if (neb1.choque(naveW.getS()) && neb1.y <= naveW.y ) {
                        naveW.destruido = true;
                       // if(!(neb1 instanceof NauBoss))
                         navesEnemigas.remove(neb1);
                    }
            }

            //Disparo-W vs nau-enemig
            for (Object ob1 : navesEnemigas) {
                NaveEnemigaBase nb1 = (NaveEnemigaBase) ob1;
                for (Object ob2 : disparoWida) {
                    Disparo st = (Disparo) ob2;
                    if (nb1.choque(st.getS())) {
                        nb1.impacte(st.getDaño());
                        //nb1.destroy = true;
                        cnt++;
                        st.destruido = true;
                        disparoWida.remove(st);
                        if (nb1.isDestruido())navesEnemigas.remove(nb1);
                        if(nb1.isDestruido()){
                            if(nb1 instanceof NaveEnemiga1){
                                naveW.setPuntuancion(100);
                                cnt1++;
                            } else if (nb1 instanceof NaveEnemiga2){
                                naveW.setPuntuancion(200);
                                cnt2++;
                            } else if (nb1 instanceof NaveEnemiga3){
                                naveW.setPuntuancion(500);
                                cnt3++;
                            }
                            cntTT = cnt+cnt1+cnt2+cnt3;
                        }
                    }
                }
            }

            //nau-W vs Disparo-enemig
            for (Object ob2 : disparosEnemigo) {
                Disparo st2 = (Disparo) ob2;
                    if (naveW.choque(st2.getS()) && st2.y <= naveW.y) {
                        naveW.impacte(st2.getDaño());
                        st2.destruido = true;
                        //DisparoEnemig.remove(st2);
                    }
//                }
            }
        } catch (Exception e) {
        }

    }
}
